package com.twinkle.abmsspringboot.service;

import com.twinkle.abmsspringboot.entity.Contacts;

import java.util.List;

/**
 * ABMS - SpringBoot
 * <p>service 联系人服务</p>
 * <p>service -> interface :ContactsService -> implement :ContactsServiceImpl</p>
 * <p>
 * 更新了形参变量名
 *
 * @author Twinkle
 * @version 1.0.1
 * @since 15 Nov. 2020
 * @since 2 Aug. 2021
 * @since 4 Aug. 2021
 */
public interface ContactsService {

    /**
     * 联系人姓名模糊查询
     *
     * @param userId          当前用户 ID
     * @param paraContactName 待查询联系人姓名
     * @return 查询到的联系人列表
     */
    List<Contacts> selectContactLike(Integer userId, String paraContactName);

    /**
     * 获取全部联系人列表
     *
     * @param userId 当前用户信息
     * @return 全部联系人列表
     */
    List<Contacts> selectContact(Integer userId);

    /**
     * 添加联系人信息
     * <p>
     * 执行结果值为 true，执行成功；反之，执行失败
     *
     * @param paraContacts 待添加的联系人信息
     * @return 执行结果
     */
    boolean insertContacts(Contacts paraContacts);

    /**
     * 删除联系人信息
     * <p>
     * 执行结果值为 true，执行成功；反之，执行失败
     *
     * @param paraContactsId 待删除的联系人信息 ID
     * @return 执行结果
     */
    boolean deleteContacts(Integer paraContactsId);

    /**
     * 更新联系人信息
     * <p>
     * 执行结果值为 true，执行成功；反之，执行失败
     *
     * @param paraContacts 待更新的联系人信息
     * @return 执行结果
     */
    boolean updateContacts(Contacts paraContacts);
}
